
#ifndef DEFINITION_H
#define DEFINITION_H

#include "type.h"
#include <iostream>
#include <vector>
;using namespace std;

class DefTableRow {
public:
	DefTableRow(TYPE type, string name) {
		this->type = type;
		this->name = name;
	}
	TYPE getType() { return type; }
	string getName() { return name; }
	void setType(TYPE type) { this->type = type; }
	void setName(string name) { this->name = name; }
private:
	TYPE type;
	string name;
};

class DefinitionTable {
public:
	DefinitionTable();
	static void setDefinition(TYPE, string);
	static void clearTable();
	static bool isNamePresent(string);
	static TYPE getType(string);
	static TYPE getType(int);
	static int getIndex(string);
	static string getName(int);
private:
	static vector<DefTableRow> table;
};

#endif